<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>Config Reference | VuePress</title>
    <meta name="description" content="Vue-powered Static Site Generator">
    <link rel="icon" href="/vuepress-theme-purple/logo.png">
  <link rel="manifest" href="/vuepress-theme-purple/manifest.json">
  <meta name="theme-color" content="#3eaf7c">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <link rel="apple-touch-icon" href="/vuepress-theme-purple/icons/apple-touch-icon-152x152.png">
  <link rel="mask-icon" href="/vuepress-theme-purple/icons/safari-pinned-tab.svg" color="#3eaf7c">
  <meta name="msapplication-TileImage" content="/icons/msapplication-icon-144x144.png">
  <meta name="msapplication-TileColor" content="#000000">
    
    <link rel="preload" href="/vuepress-theme-purple/assets/css/0.styles.4750dc60.css" as="style"><link rel="preload" href="/vuepress-theme-purple/assets/js/app.a1c2f8fd.js" as="script"><link rel="preload" href="/vuepress-theme-purple/assets/js/5.ceb67ac2.js" as="script"><link rel="preload" href="/vuepress-theme-purple/assets/js/4.0adfbd1a.js" as="script"><link rel="preload" href="/vuepress-theme-purple/assets/js/23.78c12ede.js" as="script"><link rel="preload" href="/vuepress-theme-purple/assets/js/8.b4abe17a.js" as="script"><link rel="preload" href="/vuepress-theme-purple/assets/js/6.14f6ca82.js" as="script"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/10.a5a6ea3e.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/100.ec2ceaa9.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/101.6dfa1a45.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/102.11915ae0.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/11.2ec43fbc.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/12.e5cec480.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/13.30b10f5f.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/14.9d9396ac.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/15.8e9556f8.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/16.2ce11086.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/17.7bbf8455.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/18.1d45c66b.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/19.0ff815f1.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/20.a19a1201.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/21.0367ba8f.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/22.0b9a8718.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/24.19cd8818.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/25.5eaa46dc.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/26.f38b21a1.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/27.0785a519.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/28.d23df74d.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/29.2f2dd6ca.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/30.a1bed37f.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/31.7a5b7b61.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/32.2a38681f.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/33.29933d35.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/34.df24a0ef.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/35.23d86e21.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/36.3c551b3f.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/37.832cb8d4.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/38.47f6c955.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/39.6f51d483.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/40.b69df168.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/41.0f0c7aa2.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/42.7b1d48b5.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/43.2c5e9b01.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/44.b339774e.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/45.6206eef7.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/46.119a0a86.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/47.eb84c6c2.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/48.c31f8327.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/49.3e055789.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/50.6c78c9fc.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/51.343c71a0.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/52.76de97d9.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/53.a377d1ca.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/54.8b342bc9.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/55.465812e1.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/56.98edd7cd.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/57.eeca3305.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/58.a58b8904.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/59.f6d4b102.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/60.92072575.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/61.2777f097.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/62.f4effeca.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/63.658ff6dc.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/64.0987e73f.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/65.36b268a4.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/66.60412057.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/67.5b563239.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/68.5ecac304.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/69.37c6e078.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/7.18012d7b.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/70.f7a710e9.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/71.24bb765b.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/72.f770f72d.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/73.28783a42.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/74.67fcabaf.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/75.785ce193.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/76.48a6ef71.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/77.a8133ac0.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/78.b950bccd.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/79.846d11a1.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/80.e746a20b.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/81.9ad3a7b4.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/82.7daf65f4.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/83.d506c84b.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/84.86d70e47.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/85.45ae9504.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/86.5ecfb585.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/87.a75e695f.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/88.39411bf5.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/89.a18a78c1.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/9.c4d21b85.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/90.45813435.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/91.a9b7f9e9.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/92.3f789f66.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/93.3420f93e.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/94.eac427a9.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/95.2b3fcbfb.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/96.263a20f3.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/97.506fd3ae.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/98.4d8c9524.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/99.ee01147c.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/vendors~flowchart.9a3d1af6.js"><link rel="prefetch" href="/vuepress-theme-purple/assets/js/vendors~notification.1cc30b22.js">
    <link rel="stylesheet" href="/vuepress-theme-purple/assets/css/0.styles.4750dc60.css">
  </head>
  <body>
    <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="navbar-container"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/vuepress-theme-purple/" class="home-link router-link-active"><!----> <span class="site-name">VuePress</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/vuepress-theme-purple/guide/" class="nav-link">Guide</a></div><div class="nav-item"><a href="/vuepress-theme-purple/config/" class="nav-link router-link-exact-active router-link-active">Config Reference</a></div><div class="nav-item"><a href="/vuepress-theme-purple/plugin/" class="nav-link">Plugin</a></div><div class="nav-item"><a href="/vuepress-theme-purple/theme/" class="nav-link">Theme</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Learn More" class="dropdown-title"><span class="title">Learn More</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><h4>API</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/vuepress-theme-purple/api/cli.html" class="nav-link">CLI</a></li><li class="dropdown-subitem"><a href="/vuepress-theme-purple/api/node.html" class="nav-link">Node</a></li></ul></li><li class="dropdown-item"><h4>Contributing Guide</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/vuepress-theme-purple/miscellaneous/local-development.html" class="nav-link">Local Development</a></li><li class="dropdown-subitem"><a href="/vuepress-theme-purple/miscellaneous/design-concepts.html" class="nav-link">Design Concepts</a></li><li class="dropdown-subitem"><a href="/vuepress-theme-purple/faq/" class="nav-link">FAQ</a></li><li class="dropdown-subitem"><a href="/vuepress-theme-purple/miscellaneous/glossary.html" class="nav-link">Glossary</a></li></ul></li><li class="dropdown-item"><h4>Miscellaneous</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/vuepress-theme-purple/miscellaneous/migration-guide.html" class="nav-link">Migrate from 0.x</a></li><li class="dropdown-subitem"><a href="https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="nav-link external">
  Changelog
  <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li></ul></div></div><div class="nav-item"><a href="https://v0.vuepress.vuejs.org/" target="_blank" rel="noopener noreferrer" class="nav-link external">
  0.x
  <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Select language" class="dropdown-title"><span class="title">Languages</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/vuepress-theme-purple/config/" class="nav-link router-link-exact-active router-link-active">English</a></li><li class="dropdown-item"><!----> <a href="/vuepress-theme-purple/zh/config/" class="nav-link">简体中文</a></li></ul></div></div> <a href="https://github.com/fengxinming/vuepress-theme-purple" target="_blank" rel="noopener noreferrer" class="repo-link">
    GitHub
    <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></nav></div></div></header> <div class="page-container"><div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/vuepress-theme-purple/guide/" class="nav-link">Guide</a></div><div class="nav-item"><a href="/vuepress-theme-purple/config/" class="nav-link router-link-exact-active router-link-active">Config Reference</a></div><div class="nav-item"><a href="/vuepress-theme-purple/plugin/" class="nav-link">Plugin</a></div><div class="nav-item"><a href="/vuepress-theme-purple/theme/" class="nav-link">Theme</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Learn More" class="dropdown-title"><span class="title">Learn More</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><h4>API</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/vuepress-theme-purple/api/cli.html" class="nav-link">CLI</a></li><li class="dropdown-subitem"><a href="/vuepress-theme-purple/api/node.html" class="nav-link">Node</a></li></ul></li><li class="dropdown-item"><h4>Contributing Guide</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/vuepress-theme-purple/miscellaneous/local-development.html" class="nav-link">Local Development</a></li><li class="dropdown-subitem"><a href="/vuepress-theme-purple/miscellaneous/design-concepts.html" class="nav-link">Design Concepts</a></li><li class="dropdown-subitem"><a href="/vuepress-theme-purple/faq/" class="nav-link">FAQ</a></li><li class="dropdown-subitem"><a href="/vuepress-theme-purple/miscellaneous/glossary.html" class="nav-link">Glossary</a></li></ul></li><li class="dropdown-item"><h4>Miscellaneous</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/vuepress-theme-purple/miscellaneous/migration-guide.html" class="nav-link">Migrate from 0.x</a></li><li class="dropdown-subitem"><a href="https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="nav-link external">
  Changelog
  <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li></ul></div></div><div class="nav-item"><a href="https://v0.vuepress.vuejs.org/" target="_blank" rel="noopener noreferrer" class="nav-link external">
  0.x
  <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Select language" class="dropdown-title"><span class="title">Languages</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/vuepress-theme-purple/config/" class="nav-link router-link-exact-active router-link-active">English</a></li><li class="dropdown-item"><!----> <a href="/vuepress-theme-purple/zh/config/" class="nav-link">简体中文</a></li></ul></div></div> <a href="https://github.com/fengxinming/vuepress-theme-purple" target="_blank" rel="noopener noreferrer" class="repo-link">
    GitHub
    <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></nav>  <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>Config Reference</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/vuepress-theme-purple/config/#basic-config" class="sidebar-link">Basic Config</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#base" class="sidebar-link">base</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#title" class="sidebar-link">title</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#description" class="sidebar-link">description</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#head" class="sidebar-link">head</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#host" class="sidebar-link">host</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#port" class="sidebar-link">port</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#temp" class="sidebar-link">temp</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#dest" class="sidebar-link">dest</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#locales" class="sidebar-link">locales</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#shouldprefetch" class="sidebar-link">shouldPrefetch</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#cache" class="sidebar-link">cache</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#extrawatchfiles" class="sidebar-link">extraWatchFiles</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#patterns" class="sidebar-link">patterns</a></li></ul></li><li><a href="/vuepress-theme-purple/config/#styling" class="sidebar-link">Styling</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#palette-styl" class="sidebar-link">palette.styl</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#index-styl" class="sidebar-link">index.styl</a></li></ul></li><li><a href="/vuepress-theme-purple/config/#theming" class="sidebar-link">Theming</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#theme" class="sidebar-link">theme</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#themeconfig" class="sidebar-link">themeConfig</a></li></ul></li><li><a href="/vuepress-theme-purple/config/#pluggable" class="sidebar-link">Pluggable</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#plugins" class="sidebar-link">plugins</a></li></ul></li><li><a href="/vuepress-theme-purple/config/#markdown" class="sidebar-link">Markdown</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#markdown-linenumbers" class="sidebar-link">markdown.lineNumbers</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#markdown-slugify" class="sidebar-link">markdown.slugify</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#markdown-anchor" class="sidebar-link">markdown.anchor</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#markdown-externallinks" class="sidebar-link">markdown.externalLinks</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#markdown-toc" class="sidebar-link">markdown.toc</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#markdown-plugins" class="sidebar-link">markdown.plugins</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#markdown-extendmarkdown" class="sidebar-link">markdown.extendMarkdown</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#markdown-extractheaders" class="sidebar-link">markdown.extractHeaders</a></li></ul></li><li><a href="/vuepress-theme-purple/config/#build-pipeline" class="sidebar-link">Build Pipeline</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#postcss" class="sidebar-link">postcss</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#stylus" class="sidebar-link">Stylus</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#scss" class="sidebar-link">scss</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#sass" class="sidebar-link">Sass</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#less" class="sidebar-link">less</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#configurewebpack" class="sidebar-link">configureWebpack</a></li><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#chainwebpack" class="sidebar-link">chainWebpack</a></li></ul></li><li><a href="/vuepress-theme-purple/config/#browser-compatibility" class="sidebar-link">Browser Compatibility</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/vuepress-theme-purple/config/#evergreen" class="sidebar-link">evergreen</a></li></ul></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="config-reference"><a href="#config-reference" class="header-anchor">#</a> Config Reference</h1> <p class="bit-sponsor"><a href="https://www.bitsrc.io/?utm_source=vue&utm_medium=vue&utm_campaign=vue&utm_term=vue&utm_content=vue" target="_blank" rel="noopener noreferrer"><span>This project is sponsored by</span> <img alt="bit" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/bit.png"></a></p> <h2 id="basic-config"><a href="#basic-config" class="header-anchor">#</a> Basic Config</h2> <h3 id="base"><a href="#base" class="header-anchor">#</a> base</h3> <ul><li>Type: <code>string</code></li> <li>Default: <code>/</code></li></ul> <p>The base URL the site will be deployed at. You will need to set this if you plan to deploy your site under a sub path, for example, GitHub pages. If you plan to deploy your site to <code>https://foo.github.io/bar/</code>, then you should set <code>base</code> to <code>&quot;/bar/&quot;</code>. It should always start and end with a slash.</p> <p>The <code>base</code> is automatically prepended to all the URLs that start with <code>/</code> in other options, so you only need to specify it once.</p> <p><strong>Also see:</strong></p> <ul><li><a href="/vuepress-theme-purple/guide/assets.html#base-url">Base URL</a></li> <li><a href="/vuepress-theme-purple/guide/deploy.html#github-pages">Deploy Guide &gt; GitHub Pages</a></li></ul> <h3 id="title"><a href="#title" class="header-anchor">#</a> title</h3> <ul><li>Type: <code>string</code></li> <li>Default: <code>undefined</code></li></ul> <p>Title for the site. This will be the prefix for all page titles, and displayed in the navbar in the default theme.</p> <h3 id="description"><a href="#description" class="header-anchor">#</a> description</h3> <ul><li>Type: <code>string</code></li> <li>Default: <code>undefined</code></li></ul> <p>Description for the site. This will render as a <code>&lt;meta&gt;</code> tag in the page HTML.</p> <h3 id="head"><a href="#head" class="header-anchor">#</a> head</h3> <ul><li>Type: <code>Array</code></li> <li>Default: <code>[]</code></li></ul> <p>Extra tags to inject into the page HTML <code>&lt;head&gt;</code>. You can specify each tag in the form of <code>[tagName, { attrName: attrValue }, innerHTML?]</code>. For example, to add a custom favicon:</p> <div class="language-js extra-class"><pre class="language-js"><code>module<span class="token punctuation">.</span>exports <span class="token operator">=</span> <span class="token punctuation">{</span>
  head<span class="token operator">:</span> <span class="token punctuation">[</span>
    <span class="token punctuation">[</span><span class="token string">'link'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> rel<span class="token operator">:</span> <span class="token string">'icon'</span><span class="token punctuation">,</span> href<span class="token operator">:</span> <span class="token string">'/logo.png'</span> <span class="token punctuation">}</span><span class="token punctuation">]</span>
  <span class="token punctuation">]</span>
<span class="token punctuation">}</span>
</code></pre></div><h3 id="host"><a href="#host" class="header-anchor">#</a> host</h3> <ul><li>Type: <code>string</code></li> <li>Default: <code>'0.0.0.0'</code></li></ul> <p>Specify the host to use for the dev server.</p> <h3 id="port"><a href="#port" class="header-anchor">#</a> port</h3> <ul><li>Type: <code>number</code></li> <li>Default: <code>8080</code></li></ul> <p>Specify the port to use for the dev server.</p> <h3 id="temp"><a href="#temp" class="header-anchor">#</a> temp</h3> <ul><li>Type: <code>string</code></li> <li>Default: <code>/path/to/@vuepress/core/.temp</code></li></ul> <p>Specify the temporary directory for client.</p> <h3 id="dest"><a href="#dest" class="header-anchor">#</a> dest</h3> <ul><li>Type: <code>string</code></li> <li>Default: <code>.vuepress/dist</code></li></ul> <p>Specify the output directory for <code>vuepress build</code>. If a relative path is specified, it will be resolved based on <code>process.cwd()</code>.</p> <h3 id="locales"><a href="#locales" class="header-anchor">#</a> locales</h3> <ul><li>Type: <code>{ [path: string]: Object }</code></li> <li>Default: <code>undefined</code></li></ul> <p>Specify locales for i18n support. For more details, see the guide on <a href="/vuepress-theme-purple/guide/i18n.html">Internationalization</a>.</p> <h3 id="shouldprefetch"><a href="#shouldprefetch" class="header-anchor">#</a> shouldPrefetch</h3> <ul><li>Type: <code>Function</code></li> <li>Default: <code>() =&gt; true</code></li></ul> <p>A function to control what files should have <code>&lt;link rel=&quot;prefetch&quot;&gt;</code> resource hints generated. See <a href="https://ssr.vuejs.org/api/#shouldprefetch" target="_blank" rel="noopener noreferrer">shouldPrefetch<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a>.</p> <h3 id="cache"><a href="#cache" class="header-anchor">#</a> cache</h3> <ul><li>Type: <code>boolean|string</code></li> <li>Default: <code>true</code></li></ul> <p>VuePress uses <a href="https://github.com/webpack-contrib/cache-loader" target="_blank" rel="noopener noreferrer">cache-loader<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a> by default to greatly speed up the compilation of webpack.</p> <p>You can use this option to specify the path to the cache, and can also remove the cache before each build by setting it to <code>false</code>.</p> <div class="custom-block tip"><p class="custom-block-title">TIP</p> <p>You can also use this option through the CLI:</p> <div class="language-bash extra-class"><pre class="language-bash"><code>vuepress dev docs --cache .cache <span class="token comment"># set cache path</span>
vuepress dev docs --no-cache     <span class="token comment"># remove cache before each build.</span>
</code></pre></div></div> <h3 id="extrawatchfiles"><a href="#extrawatchfiles" class="header-anchor">#</a> extraWatchFiles</h3> <ul><li>Type: <code>Array</code></li> <li>Default: <code>[]</code></li></ul> <p>Specify extra files to watch.</p> <p>You can watch any file if you want. File changes will trigger <code>vuepress</code> rebuilding and real-time updates.</p> <div class="language-js extra-class"><pre class="language-js"><code>module<span class="token punctuation">.</span>exports <span class="token operator">=</span> <span class="token punctuation">{</span>
  extraWatchFiles<span class="token operator">:</span> <span class="token punctuation">[</span>
    <span class="token string">'.vuepress/foo.js'</span><span class="token punctuation">,</span> <span class="token comment">// Relative path usage</span>
    <span class="token string">'/path/to/bar.js'</span>   <span class="token comment">// Absolute path usage</span>
  <span class="token punctuation">]</span>
<span class="token punctuation">}</span>
</code></pre></div><h3 id="patterns"><a href="#patterns" class="header-anchor">#</a> patterns</h3> <ul><li>Type: <code>Array</code></li> <li>Default: <code>['**/*.md', '**/*.vue']</code></li></ul> <p>Specify which pattern of files you want to be resolved.</p> <h2 id="styling"><a href="#styling" class="header-anchor">#</a> Styling</h2> <h3 id="palette-styl"><a href="#palette-styl" class="header-anchor">#</a> palette.styl</h3> <p>To apply simple overrides to the styling of the <a href="https://github.com/vuejs/vuepress/blob/master/packages/@vuepress/core/lib/client/style/config.styl" target="_blank" rel="noopener noreferrer">default preset<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a> or define some variables to use later, you can create a <code>.vuepress/styles/palette.styl</code> file.</p> <p>There are some predefined variables you can tweak:</p> <div class="language-stylus extra-class"><pre class="language-stylus"><code><span class="token comment">// colors</span>
<span class="token variable-declaration"><span class="token variable">$accentColor</span> <span class="token operator">=</span> <span class="token hexcode">#3eaf7c</span></span>
<span class="token variable-declaration"><span class="token variable">$textColor</span> <span class="token operator">=</span> <span class="token hexcode">#2c3e50</span></span>
<span class="token variable-declaration"><span class="token variable">$borderColor</span> <span class="token operator">=</span> <span class="token hexcode">#eaecef</span></span>
<span class="token variable-declaration"><span class="token variable">$codeBgColor</span> <span class="token operator">=</span> <span class="token hexcode">#282c34</span></span>
<span class="token variable-declaration"><span class="token variable">$arrowBgColor</span> <span class="token operator">=</span> <span class="token hexcode">#ccc</span></span>
<span class="token variable-declaration"><span class="token variable">$badgeTipColor</span> <span class="token operator">=</span> <span class="token hexcode">#42b983</span></span>
<span class="token variable-declaration"><span class="token variable">$badgeWarningColor</span> <span class="token operator">=</span> <span class="token func"><span class="token function">darken</span><span class="token punctuation">(</span><span class="token hexcode">#ffe564</span><span class="token punctuation">,</span> <span class="token number">35%</span><span class="token punctuation">)</span></span></span>
<span class="token variable-declaration"><span class="token variable">$badgeErrorColor</span> <span class="token operator">=</span> <span class="token hexcode">#DA5961</span></span>

<span class="token comment">// layout</span>
<span class="token variable-declaration"><span class="token variable">$navbarHeight</span> <span class="token operator">=</span> <span class="token number">3.6</span>rem</span>
<span class="token variable-declaration"><span class="token variable">$sidebarWidth</span> <span class="token operator">=</span> <span class="token number">20</span>rem</span>
<span class="token variable-declaration"><span class="token variable">$contentWidth</span> <span class="token operator">=</span> <span class="token number">740</span>px</span>
<span class="token variable-declaration"><span class="token variable">$homePageWidth</span> <span class="token operator">=</span> <span class="token number">960</span>px</span>

<span class="token comment">// responsive breakpoints</span>
<span class="token variable-declaration"><span class="token variable">$MQNarrow</span> <span class="token operator">=</span> <span class="token number">959</span>px</span>
<span class="token variable-declaration"><span class="token variable">$MQMobile</span> <span class="token operator">=</span> <span class="token number">719</span>px</span>
<span class="token variable-declaration"><span class="token variable">$MQMobileNarrow</span> <span class="token operator">=</span> <span class="token number">419</span>px</span>
</code></pre></div><div class="custom-block danger"><p class="custom-block-title">Note</p> <p>You should ONLY define variables in this file. Since <code>palette.styl</code> will be imported at the end of the root Stylus config file, as a config, several files will use it, so once you wrote styles here, your style would be duplicated by multiple times.</p></div> <h3 id="index-styl"><a href="#index-styl" class="header-anchor">#</a> index.styl</h3> <p>VuePress provides a convenient way to add extra styles. You can create a <code>.vuepress/styles/index.styl</code> file for that. This is a <a href="http://stylus-lang.com/" target="_blank" rel="noopener noreferrer">Stylus<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a> file but you can use normal CSS syntax as well.</p> <div class="language-stylus extra-class"><pre class="language-stylus"><code><span class="token selector">.content <span class="token punctuation">{</span></span>
  <span class="token property-declaration"><span class="token property">font-size</span> <span class="token number">30</span>px</span>
<span class="token punctuation">}</span>
</code></pre></div><p><strong>Also see:</strong></p> <ul><li><a href="/vuepress-theme-purple/faq/#why-can-t-palette-styl-and-index-styl-merge-into-one-api">Why can’t <code>palette.styl</code> and <code>index.styl</code> merge into one API?</a></li></ul> <h2 id="theming"><a href="#theming" class="header-anchor">#</a> Theming</h2> <h3 id="theme"><a href="#theme" class="header-anchor">#</a> theme</h3> <ul><li>Type: <code>string</code></li> <li>Default: <code>undefined</code></li></ul> <p>Specify this to use a custom theme.</p> <p><strong>Also see:</strong></p> <ul><li><a href="/vuepress-theme-purple/theme/using-a-theme.html">Using a theme</a>.</li></ul> <h3 id="themeconfig"><a href="#themeconfig" class="header-anchor">#</a> themeConfig</h3> <ul><li>Type: <code>Object</code></li> <li>Default: <code>{}</code></li></ul> <p>Provide config options to the used theme. The options will vary depending on the theme you are using.</p> <p><strong>Also see:</strong></p> <ul><li><a href="/vuepress-theme-purple/theme/default-theme-config.html">Default Theme Configuration</a>.</li></ul> <h2 id="pluggable"><a href="#pluggable" class="header-anchor">#</a> Pluggable</h2> <h3 id="plugins"><a href="#plugins" class="header-anchor">#</a> plugins</h3> <ul><li>Type: <code>Object|Array</code></li> <li>Default: <code>undefined</code></li></ul> <p>Please check out <a href="/vuepress-theme-purple/plugin/using-a-plugin.html">Plugin &gt; Using a plugin</a> to learn how to use a plugin.</p> <h2 id="markdown"><a href="#markdown" class="header-anchor">#</a> Markdown</h2> <h3 id="markdown-linenumbers"><a href="#markdown-linenumbers" class="header-anchor">#</a> markdown.lineNumbers</h3> <ul><li>Type: <code>boolean</code></li> <li>Default: <code>undefined</code></li></ul> <p>Whether to show line numbers to the left of each code blocks.</p> <p><strong>Also see:</strong></p> <ul><li><a href="/vuepress-theme-purple/guide/markdown.html#line-numbers">Line Numbers</a></li></ul> <h3 id="markdown-slugify"><a href="#markdown-slugify" class="header-anchor">#</a> markdown.slugify</h3> <ul><li>Type: <code>Function</code></li> <li>Default: <a href="https://github.com/vuejs/vuepress/tree/master/packages/@vuepress/shared-utils/src/slugify.ts" target="_blank" rel="noopener noreferrer">source<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul> <p>Function for transforming <a href="/vuepress-theme-purple/miscellaneous/glossary.html#headers">header</a> texts into slugs. Changing this affects the ids/links generated for header anchors, <a href="/vuepress-theme-purple/guide/markdown.html#table-of-contents">table of contents</a> and <a href="/vuepress-theme-purple/theme/default-theme-config.html#sidebar">sidebar</a> links.</p> <h3 id="markdown-anchor"><a href="#markdown-anchor" class="header-anchor">#</a> markdown.anchor</h3> <ul><li>Type: <code>Object</code></li> <li>Default: <code>{ permalink: true, permalinkBefore: true, permalinkSymbol: '#' }</code></li></ul> <p>Options for <a href="https://github.com/valeriangalliat/markdown-it-anchor" target="_blank" rel="noopener noreferrer">markdown-it-anchor<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a>. (Note: prefer <code>markdown.slugify</code> to customize header ids.)</p> <h3 id="markdown-externallinks"><a href="#markdown-externallinks" class="header-anchor">#</a> markdown.externalLinks</h3> <ul><li>Type: <code>Object</code></li> <li>Default: <code>{ target: '_blank', rel: 'noopener noreferrer' }</code></li></ul> <p>The key and value pair will be added to <code>&lt;a&gt;</code> tags that point to an external link. The default option will open external links in a new window.</p> <h3 id="markdown-toc"><a href="#markdown-toc" class="header-anchor">#</a> markdown.toc</h3> <ul><li>Type: <code>Object</code></li> <li>Default: <code>{ includeLevel: [2, 3] }</code></li></ul> <p>Options for <a href="https://github.com/Oktavilla/markdown-it-table-of-contents" target="_blank" rel="noopener noreferrer">markdown-it-table-of-contents<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a>. (Note: prefer <code>markdown.slugify</code> to customize header ids.)</p> <h3 id="markdown-plugins"><a href="#markdown-plugins" class="header-anchor">#</a> markdown.plugins</h3> <p>You can install any markdown-it plugins through <code>markdown.plugins</code> option. It’s similar with <a href="/vuepress-theme-purple/plugin/using-a-plugin.html#using-a-plugin">using VuePress plugins</a>. You can either use Babel style or object style. The <code>markdown-it-</code> prefix is optional and can omit in the list.</p> <div class="language-js extra-class"><pre class="language-js"><code>module<span class="token punctuation">.</span>exports <span class="token operator">=</span> <span class="token punctuation">{</span>
  markdown<span class="token operator">:</span> <span class="token punctuation">{</span>
    plugins<span class="token operator">:</span> <span class="token punctuation">[</span>
      <span class="token string">'@org/foo'</span><span class="token punctuation">,</span> <span class="token comment">// equals to @org/markdown-it-foo if exists</span>
      <span class="token punctuation">[</span><span class="token string">'markdown-it-bar'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span>
        <span class="token comment">// provide options here</span>
      <span class="token punctuation">}</span><span class="token punctuation">]</span>
    <span class="token punctuation">]</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre></div><p>Or</p> <div class="language-js extra-class"><pre class="language-js"><code>module<span class="token punctuation">.</span>exports <span class="token operator">=</span> <span class="token punctuation">{</span>
  markdown<span class="token operator">:</span> <span class="token punctuation">{</span>
    plugins<span class="token operator">:</span> <span class="token punctuation">{</span>
      <span class="token string">'@org/foo'</span><span class="token operator">:</span> <span class="token punctuation">{</span><span class="token punctuation">}</span>
      <span class="token string">'markdown-it-bar'</span><span class="token operator">:</span> <span class="token punctuation">{</span>
        <span class="token comment">// provide options here</span>
      <span class="token punctuation">}</span>
    <span class="token punctuation">}</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre></div><h3 id="markdown-extendmarkdown"><a href="#markdown-extendmarkdown" class="header-anchor">#</a> markdown.extendMarkdown</h3> <ul><li>Type: <code>Function</code></li> <li>Default: <code>undefined</code></li></ul> <p>A function to edit default config or apply extra plugins to the <a href="https://github.com/markdown-it/markdown-it" target="_blank" rel="noopener noreferrer">markdown-it<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a> instance used to render source files. For example:</p> <div class="language-js extra-class"><pre class="language-js"><code>module<span class="token punctuation">.</span>exports <span class="token operator">=</span> <span class="token punctuation">{</span>
  markdown<span class="token operator">:</span> <span class="token punctuation">{</span>
    <span class="token function-variable function">extendMarkdown</span><span class="token operator">:</span> <span class="token parameter">md</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
      md<span class="token punctuation">.</span><span class="token function">set</span><span class="token punctuation">(</span><span class="token punctuation">{</span> breaks<span class="token operator">:</span> <span class="token boolean">true</span> <span class="token punctuation">}</span><span class="token punctuation">)</span>
      md<span class="token punctuation">.</span><span class="token function">use</span><span class="token punctuation">(</span><span class="token function">require</span><span class="token punctuation">(</span><span class="token string">'markdown-it-xxx'</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
    <span class="token punctuation">}</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre></div><div class="custom-block tip"><p class="custom-block-title">TIP</p> <p>This option is also included in <a href="/vuepress-theme-purple/plugin/option-api.html#extendmarkdown">Plugin API</a>.</p></div> <h3 id="markdown-extractheaders"><a href="#markdown-extractheaders" class="header-anchor">#</a> markdown.extractHeaders</h3> <ul><li>Type: <code>Array</code></li> <li>Default: <code>['h2', 'h3']</code></li></ul> <p>While preparing the page, headers are extracted from the Markdown file and stored in <code>this.$page.headers</code>. By default, VuePress will extract <code>h2</code> and <code>h3</code> elements for you. You can override the headers it pulls out in your <code>markdown</code> options.</p> <div class="language-js extra-class"><pre class="language-js"><code>module<span class="token punctuation">.</span>exports <span class="token operator">=</span> <span class="token punctuation">{</span>
  markdown<span class="token operator">:</span> <span class="token punctuation">{</span>
    extractHeaders<span class="token operator">:</span> <span class="token punctuation">[</span> <span class="token string">'h2'</span><span class="token punctuation">,</span> <span class="token string">'h3'</span><span class="token punctuation">,</span> <span class="token string">'h4'</span> <span class="token punctuation">]</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre></div><h2 id="build-pipeline"><a href="#build-pipeline" class="header-anchor">#</a> Build Pipeline</h2> <div class="custom-block tip"><p class="custom-block-title">Configuring CSS Pre-processors</p> <p>VuePress comes with built-in webpack config for the CSS pre-processors listed below. For more information on installation these or pre-processors without built-in support, see <a href="/vuepress-theme-purple/guide/using-vue.html#using-pre-processors">Using Pre-Processors</a> for more information.</p></div> <h3 id="postcss"><a href="#postcss" class="header-anchor">#</a> postcss</h3> <ul><li>Type: <code>Object</code></li> <li>Default: <code>{ plugins: [require('autoprefixer')] }</code></li></ul> <p>Options for <a href="https://github.com/postcss/postcss-loader" target="_blank" rel="noopener noreferrer">postcss-loader<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a>. Note specifying this value will overwrite autoprefixer and you will need to include it yourself.</p> <h3 id="stylus"><a href="#stylus" class="header-anchor">#</a> Stylus</h3> <ul><li>Type: <code>Object</code></li> <li>Default: <code>{ preferPathResolver: 'webpack' }</code></li></ul> <p>Options for <a href="https://github.com/shama/stylus-loader" target="_blank" rel="noopener noreferrer">stylus-loader<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a>.</p> <h3 id="scss"><a href="#scss" class="header-anchor">#</a> scss</h3> <ul><li>Type: <code>Object</code></li> <li>Default: <code>{}</code></li></ul> <p>Options for <a href="https://github.com/webpack-contrib/sass-loader" target="_blank" rel="noopener noreferrer">sass-loader<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a> to load <code>*.scss</code> files.</p> <h3 id="sass"><a href="#sass" class="header-anchor">#</a> Sass</h3> <ul><li>Type: <code>Object</code></li> <li>Default: <code>{ indentedSyntax: true }</code></li></ul> <p>Options for <a href="https://github.com/webpack-contrib/sass-loader" target="_blank" rel="noopener noreferrer">sass-loader<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a> to load <code>*.sass</code> files.</p> <h3 id="less"><a href="#less" class="header-anchor">#</a> less</h3> <ul><li>Type: <code>Object</code></li> <li>Default: <code>{}</code></li></ul> <p>Options for <a href="https://github.com/webpack-contrib/less-loader" target="_blank" rel="noopener noreferrer">less-loader<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a>.</p> <h3 id="configurewebpack"><a href="#configurewebpack" class="header-anchor">#</a> configureWebpack</h3> <ul><li>Type: <code>Object | Function</code></li> <li>Default: <code>undefined</code></li></ul> <p>Edit the internal webpack config. If the value is an Object, it will be merged into the final config using <a href="https://github.com/survivejs/webpack-merge" target="_blank" rel="noopener noreferrer">webpack-merge<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a>; If the value is a function, it will receive the config as the 1st argument and an <code>isServer</code> flag as the 2nd argument. You can either mutate the config directly, or return an object to merge:</p> <div class="language-js extra-class"><pre class="language-js"><code>module<span class="token punctuation">.</span>exports <span class="token operator">=</span> <span class="token punctuation">{</span>
  <span class="token function-variable function">configureWebpack</span><span class="token operator">:</span> <span class="token punctuation">(</span><span class="token parameter">config<span class="token punctuation">,</span> isServer</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
    <span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>isServer<span class="token punctuation">)</span> <span class="token punctuation">{</span>
      <span class="token comment">// mutate the config for client</span>
    <span class="token punctuation">}</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre></div><h3 id="chainwebpack"><a href="#chainwebpack" class="header-anchor">#</a> chainWebpack</h3> <ul><li>Type: <code>Function</code></li> <li>Default: <code>undefined</code></li></ul> <p>Edit the internal webpack config with <a href="https://github.com/mozilla-neutrino/webpack-chain" target="_blank" rel="noopener noreferrer">webpack-chain<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a>.</p> <div class="language-js extra-class"><pre class="language-js"><code>module<span class="token punctuation">.</span>exports <span class="token operator">=</span> <span class="token punctuation">{</span>
  <span class="token function-variable function">chainWebpack</span><span class="token operator">:</span> <span class="token punctuation">(</span><span class="token parameter">config<span class="token punctuation">,</span> isServer</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
    <span class="token comment">// config is an instance of ChainableConfig</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre></div><h2 id="browser-compatibility"><a href="#browser-compatibility" class="header-anchor">#</a> Browser Compatibility</h2> <h3 id="evergreen"><a href="#evergreen" class="header-anchor">#</a> evergreen</h3> <ul><li>Type: <code>boolean | Function</code></li> <li>Default: <code>false</code></li></ul> <p>Set to <code>true</code> if you are only targeting evergreen browsers. This will disable ES5 transpilation and polyfills for IE, and result in faster builds and smaller files.</p></div> <footer class="page-edit"><div class="edit-link"><a href="https://github.com/fengxinming/vuepress-theme-purple/edit/master/config/README.md" target="_blank" rel="noopener noreferrer">Edit this page on GitHub</a> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></div> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/13/2020, 1:59:37 AM</span></div></footer> <!----> </main></div></div><div class="global-ui"><!----><!----></div></div>
    <script src="/vuepress-theme-purple/assets/js/app.a1c2f8fd.js" defer></script><script src="/vuepress-theme-purple/assets/js/5.ceb67ac2.js" defer></script><script src="/vuepress-theme-purple/assets/js/4.0adfbd1a.js" defer></script><script src="/vuepress-theme-purple/assets/js/23.78c12ede.js" defer></script><script src="/vuepress-theme-purple/assets/js/8.b4abe17a.js" defer></script><script src="/vuepress-theme-purple/assets/js/6.14f6ca82.js" defer></script>
  </body>
</html>
